Many computing environments need to generate data backups on a periodic basis. The backup generally makes a copy of a set of data to a secondary storage device and/or location. The backup is performed to make sure that adequate data retention is performed for a set of data within the system.
There are many reasons for performing data backups. For example, a common reason to generate backups is to provide data loss prevention in the event of system failure, corruption, or malware attack. Another reason is to maintain a set of data that can be tracked for analysis or auditing purposes. The backups can also be used for archiving purposes. In a database environment, it is very common to create backups of the content within a database. For a relational database system, the database backup will typically include a copy of all database tables that exist within the database.
When performing a backup, the computing system needs to incur certain costs and resource consumption requirements. For example, during the time a backup is occurring, certain activities on the system may need to be stopped to allow the backup process a conflict-free way to access the necessary data to copy into the backup. One problem is that this processing may therefore cause latencies to occur for any workloads that are delayed because of the backup processing. The system performing the backup may also need to consume additional resources (such as system memory and processor) to implement the backup processing activities, causing further contention for resources at the computing node. For a mission critical database system, these delays and resource conflicts associated with backup activities can be very costly for ongoing workloads. Moreover, if the backup procedure is managed at second computing node that is different from a first computing node that is managing the data to be backed up, then due to different authentication/authorization requirements at the multiple nodes, this may create a barrier to being able to automate the backup activities since human intervention may be needed to handle any required authentication activities.
What is needed, therefore, is a method and/or system that overcomes these problems, and which more efficiently implements backups for a database system.